A customer (e.g., individuals) may connect to a network service (e.g., a service provided by an Internet service provider or ISP) via an end-to-end path defined in one or more networks. Similarly, business customers may connect to a network service (e.g., a switch cloud or a high capacity link of an ISP) via an end-to-end path defined in one or more networks. An end-to-end path may include a path of network elements (e.g., switches, routers, etc.) that connects one point (e.g., a customer) to another point (e.g., a network service). When new network service connections are requested, a network provider assigns the end-to-end paths from the customers to the network services. However, as the number of network service requests increases, it becomes increasingly difficult to assign multiple end-to-end paths. For example, serially assigning end-to-end paths to multiple network service requests may require an inordinate amount of time, and/or assigning end-to-end paths to multiple network requests in parallel may result in resource conflicts (e.g., when network elements are assigned, they define a unique path for each customer).